package com.dyw.Day15;

import java.util.ArrayList;

/**
 * @author Devil
 * @create 2022-01-24-22:56
 *
 * 回文链表
 * 给你一个单链表的头节点 head ，请你判断该链表是否为回文链表。如果是，返回 true ；否则，返回 false 。
 *
 * 思路:比较笨 我这里使用的是将链表中的值读取到一个可变数组中 再用这个数组判断回文
 */
@SuppressWarnings("all")
public class Demo01 {
    public boolean isPalindrome(ListNode head) {
        boolean flag = true;
        ArrayList<Integer> list = new ArrayList<>();
        while(head!=null){
            list.add(head.val);
            head = head.next;
        }
        int n = list.size();
        for (int i = 0; i < n; i++) {
            if(list.get(i)!=list.get(n-1-i)){
                flag = false;
                break;
            }
        }
        return flag;
    }
}
